#ifndef __FIXED_PARTICLE_H__
#define __FIXED_PARTICLE_H__

#include "vec.h"
#include "particle.h"

// Particle which is ... fixed. We update points manually. The velocity will be approximated via _SOME_ method - eg. Euler
// Updating of points is necessary if we want to attach this to our model

class FixedParticle : public Particle{

public:

	FixedParticle(Vec3d initialPosition, Vec3d initialVelocity, double mass);
	virtual void accumulateForce(Vec3d newForce) { clearAccumulator(); } // we don't do anything here :)
	void setAndCompute(Vec3d newPosition, double time);
	void setPosition(Vec3d newPosition, double time);
	void updateVelocity(); // Update velocity to new approximate using past values

private:
	Vec3d prevPosition;
	double prevPositionTime;
	double curPositionTime;

};

#endif